#pragma once

typedef void (*ButtonFunction)();

class CGUIButton
{
public:
	CGUIButton(void);
	~CGUIButton(void);

	bool Initialize(int num ,int UnSelect, int Select, int x, int y, bool selected, ButtonFunction bfn);
	void Uninitialize();

	bool Update(int Update, int SelectedNum);
	void Render(HDC hdc);

	inline void SetState(bool st) { m_SelectedButton = st; }

private:
	bool m_SelectedButton;
	int m_buttonX;
	int m_buttonY;
	int m_buttonWidth;
	int m_buttonHeight;
	int m_buttonNum;
	ButtonFunction m_function;
	HBITMAP m_UnSelectImage;
	HBITMAP m_SelectImage;
};